Extension point caches
Documentation
Extension Point to define a new cache . 20
The class attribute must link a class that implements the CoreCache interface. The default implementation 'org.nuxeo.ecm.core.cache.CacheImpl' is based on Google Guava implementation that does not support distributed cache You can use the 'org.nuxeo.ecm.core.redis.contribs.RedisCache' for the implementation on top of redis that allow distributed cache (make sure that a contrib to RedisService define a redis server) You can also create your own implementation by extending the AsbtractCache class and then use it as an implementation class
The max size set the max number of elements contained in the cache
The Time To Live define in minutes the time before the cache will be destroyed
The concurrency level, number of thread that can access at the same time the cache
Contribution Descriptors
- Class: org.nuxeo.ecm.core.cache.CacheDescriptor
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService"> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="dropbox"> <option name="maxSize">1000</option> <option name="concurrencyLevel">10</option> <ttl>60</ttl> </cache> </extension>
-
<extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService"> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="driveSyncRoot"> <option name="maxSize">10000</option> <option name="concurrencyLevel">4</option> <ttl>1</ttl> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="driveCollectionSyncRootMember"> <option name="maxSize">10000</option> <option name="concurrencyLevel">4</option> <ttl>1</ttl> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="driveDescendantsScroll"> <ttl>20</ttl><!-- minutes --> <option name="maxSize">100</option> <option name="concurrencyLevel">500</option> </cache> </extension>
-
<extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService"> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="default-cache"> <ttl>20</ttl><!-- minutes --> <option name="maxSize">100</option> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-user-entry-cache"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-user-entry-cache-without-references"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-group-entry-cache"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-group-entry-cache-without-references"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-user-entry-cache"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-user-entry-cache-without-references"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-group-entry-cache"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-group-entry-cache-without-references"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-digestauth-entry-cache"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-digestauth-entry-cache-without-references"> <option name="maxSize">100</option> <ttl>20</ttl><!-- minutes --> <option name="concurrencyLevel">500</option> </cache> </extension>
-
<extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService"> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="onedrive"> <option name="maxSize">1000</option> <option name="concurrencyLevel">10</option> <ttl>60</ttl> </cache> </extension>
-
<extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService"> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="box"> <option name="maxSize">1000</option> <option name="concurrencyLevel">10</option> <ttl>60</ttl> </cache> </extension>
-
<extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService"> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="userDisplayName"> <option name="maxSize">1000</option> <option name="concurrencyLevel">10</option> <ttl>30</ttl> </cache> </extension>
-
<extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService"> <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="googleDrive"> <option name="maxSize">1000</option> <option name="concurrencyLevel">10</option> <ttl>60</ttl> </cache> </extension>